#include <iostream>
#include <pthread.h>

using namespace std;

#define NUM_THREADS 5
//线程的运行函数，必须void*，没说的表示返回通用指针、输入通用指针
void* say_hello(void* args) {
	cout << "hello..." << endl;
}

int main() {
	pthread_t tids[NUM_THREADS]; //定义线程的id变量，多个变量可以声明为数组使用
	for (int i = 0; i < NUM_THREADS; i++) {
		int ret = pthread_create(&tids[i], NULL, say_hello, NULL); 
		// 参数依次是：创建的线程id，线程参数，调用函数名，传入的函数参数
		// 第一个参数为指向线程标识符的指针。
		//第二个参数用来设置线程属性。
		//第三个参数是线程运行函数的起始地址。
		//最后一个参数是运行函数的参数。
		if (ret != 0) {
			cout << "pthread_create error: error_code=" << ret << endl;
		}
	}

	pthread_exit(NULL); // 等各个线程退出后，进程才结束
}